<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  <script>
    // ----------- 1 -------------------
    // setTimeout(() => {
    //   console.log('hello word')
    // }, 1000);

    //一下是 链式编程 Promise

    // ------------ 2 ------------------
    //网络请求的嵌套 原型
    // setTimeout(() => {
    //   console.log('hello word ')

    //   setTimeout(() => {
    //     console.log('hello java ')

    //     setTimeout(() => {
    //       console.log('hello Python ')
    //     }, 100);
    //   }, 1000);
    // }, 1000);



    //参数： 函数(resolve, reject)
    // resolve, reject本身又是函数
    // new Promise((resolve, reject)=>{
    //   setTimeout(() => {
    //     //请求网络
    //     resolve();
    //   }, 1000);
    // }).then(()=>{

    //   // 处理网络结果
    //   let nowTime = new Date().getTime();
    //   console.log('hello word ', nowTime)

    //   //再次 请求网络2
    //   return new Promise((resolve, reject)=>{
    //     setTimeout(() => {
    //       resolve();
    //     }, 1000);
    //   })
    // }).then(()=>{
    //   // 处理 网络2 结果
    //   let nowTime = new Date().getTime();
    //   console.log('hello java', nowTime)

    //   //再次 请求网络3
    //   return new Promise((resolve, reject)=>{
    //     setTimeout(() => {
    //       resolve();
    //     }, 1000);
    //   })
    // }).then(()=>{
    //   // 处理 网络3 结果
    //   let nowTime = new Date().getTime();
    //   console.log('hello Python', nowTime)
    // })

    // ------------ 3 ------------------
    new Promise((resolve, reject)=>{
      setTimeout(() => {
        // 成功案例
        resolve('hello world');

        // 失败案例
        // reject('error message');
      }, 1000);
    }).then((data)=>{
      console.log(data)
    }).catch(err=>{
      // console.log(err)
      throw err
    })
  </script>
</body>
</html>